Trong thế giới của Rust, trình biên dịch là tuyến phòng thủ đầu tiên của bạn, phát hiện các lỗi rò rỉ bộ nhớ và sai lệch kiểu dữ liệu ngay từ đầu. Tuy nhiên, trình biên dịch không thể biết được mục đích của bạn mục đích. Đây chính là lúc kiểm thử tự động tham gia như một "lưới an toàn" cho tính đúng đắn về mặt logic.
1. Đôi tác dụng bổ trợ
Trong khi hệ thống kiểu xử lý tính toàn vẹn cấu trúc, các bài kiểm thử xác minh hành vi chức năng. Trong một dự án thư viện, trình biên dịch đảm bảo bạn không truyền một chuỗi vào một hàm toán học, nhưng chỉ có kiểm thử mới đảm bảo rằng $f(x) = y$ cho kết quả mong đợi.
2. Chu kỳ chuẩn
Các kiểm thử Rust tuân theo một quy trình ba bước nghiêm ngặt:
- Chuẩn bị: Khởi tạo dữ liệu (ví dụ: tạo một thể hiện thư viện).
- Thực thi: Thực thi logic cụ thể đang được kiểm tra.
- Xác nhận: Xác minh trạng thái bằng các macro như
assert_eq!.
Bộ công cụ tích hợp hỗ trợ kiểm thử tài liệu (các ví dụ có thể chạy trong tài liệu) và kiểm thử hiệu suất để đảm bảo mã của bạn luôn nhanh như chớp.